package IO流.综合练习.随机点名;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class 第二题 {
    public static void main(String[] args) throws IOException {
        BufferedReader br=new BufferedReader(new FileReader("F\\name.txt"));
        //1.创建一个集合表示抽到男生和女生的概率-->1表示男生,0表示女生
        ArrayList<Integer> gl=new ArrayList<>();
        Collections.addAll(gl,1,1,1,1,1,1,1,0,0,0);
        //2.创建集合,储存男生和女生的姓名
        ArrayList<String> boyList=new ArrayList<>();
        ArrayList<String> girlList=new ArrayList<>();
        //添加元素到集合中
        String b;
        while ((b= br.readLine())!=null){
            String[] split = b.split("-");
            //如果是男生添加进入男生的list
            if (split[1].equals("男")){
                boyList.add(split[0]);
            }else {
                //如果是女生
                girlList.add(split[0]);
            }
        }
        //3.进行点名
        //创建2个计数器记录点到男生和女生的次数
        int boy=0;
        int girl=0;
        for (int i = 1; i <=1000000; i++) {
            //打乱性别的概率列表
            Collections.shuffle(gl);
            //如果gl集合的第一个元素是1,点名男生
            if (gl.get(0)==1){
                boy++;
            }else {
                //如果是0,点名女生
                girl++;
            }
        }
        System.out.println(boy);
        System.out.println(girl);
        //4.计算概率
        //创建大小数对象
        BigDecimal b1=new BigDecimal("7");
        BigDecimal b2=new BigDecimal("3");
        BigDecimal b3=new BigDecimal(boy);
        BigDecimal b4=new BigDecimal(girl);
        BigDecimal zunque = b1.divide(b2, 4, RoundingMode.HALF_UP);
        BigDecimal text = b3.divide(b4, 4, RoundingMode.HALF_UP);
        System.out.println("7/3:"+zunque);
        System.out.println("实际的概率:"+text);
        br.close();
    }
}
